package io.itit.ecp.admin.provide.action.resp;

import io.itit.ecp.admin.provide.selected.MeterDeviceStaticsTypeSelected;
import io.itit.grass.common.provide.action.resp.BaseResp;
import io.itit.grass.dict.starter.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 *
 * @Author：Roy
 * @Description：能源预测数据响应结果
 * @Date：Create by 2023-12-05 11:48:22
 */
@Data
@ToString
@EqualsAndHashCode(callSuper = true)
@ApiModel("能源预测数据响应结果")
public class EnergyForecastDataResp extends BaseResp implements ISceneInfoResp {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("数据时间")
    private Date solidifyDate;

    private String sceneProjectId;

    private String projectName;

    private String sceneEdificeId;

    private String sceneFloorId;

    private String sceneRoomId;

    private String sceneCompanyId;

    private String meterDeviceId;

    private String deviceCode;

    private String deviceName;

    @ApiModelProperty("统计产品类型Id")
    private String productTypeId;

    @ApiModelProperty("统计产品类型名称")
    private String productTypeName;

    private BigDecimal meterForecastValue;

    @ApiModelProperty("统计类型")
    @Dict(dictCode = MeterDeviceStaticsTypeSelected.CODE, isBean = true)
    private String staticsType;

    private String energyUnit;

    /**
     * 预测精度
     */
    private BigDecimal forecastPrecision;

    private String sceneInfoName;

    @Override
    public void setSceneInfoName(String sceneInfoName) {
        this.sceneInfoName = sceneInfoName;
    }
}
